#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <iostream>
#include <errno.h>
#include <string.h>

void myperror(const char* msg)
{
    fprintf(stderr,"%s:%s\n",msg,strerror(errno));
}

int main()
{
    int fp = open("log.txt",O_RDONLY);
    if(fp < 0)
    {
        myperror("open");
        return 2;
    }
    

    //    // stdout -> 1
//    printf("hello printf 1\n");
//    fprintf(stdout,"hello fprintf 1\n");
//    
//    // stderr -> 2
//    errno = 1;
//    perror("hello perror 2");
//    
//    const char* s1 = "hello write 1\n";
//    write(1,s1,strlen(s1));
//
//    const char* s2 = "hello write 2\n";
//    write(2,s2,strlen(s2));
//    
//    std::cout << "hello cout 1\n" << std::endl;
//
//    std::cerr << "hello cerr 2\n" << std::endl;
//
   // close(1);
   // int fd = open("log.txt", O_WRONLY|O_CREAT|O_TRUNC,0666);
   // if(fd < 0)
   // {
   //     perror("open");
   //     return 1;
   // }
   // printf("hello world %d\n",fd);// stdout -> 1 -> 数据会暂存在stdout的缓冲区中
   // // const char* s = "hello\n";
   // // write(fd,s,sizeof(s));
   // // fflush(stdout);
   // close(fd);//fd -> 1;数据在缓冲区中，但对应的fd已经关了，数据便无法刷新了

    return 0;
}
